package com.dhj.jvmstudy.chapter02;

import java.net.URL;
import java.net.URLClassLoader;

/**
 * 自定义类加载器。
 * 在编写自定义类加载器时，如果没有太过于复杂的需求，可以直接继承URLClassLoader类，
 * 这样就可以避免自己去编写findClass()  方法及其获取字节码流的方式，使自定义类加载器编写更加简洁。
 */
public class CustomClassLoader1 extends URLClassLoader {

    public CustomClassLoader1(URL[] urls) {
        super(urls);
    }

    public static void main(String[] args) throws Exception {
        URL url = new URL("One");
        CustomClassLoader1 customClassLoader1 = new CustomClassLoader1(new URL[]{url});
        try {
            Class<?> clazz = Class.forName("One2", true, customClassLoader1);
            Object obj = clazz.newInstance();
            System.out.println(obj.getClass().getClassLoader());

        }catch (Exception e) {
            e.printStackTrace();
        }
    }

}
